package com.futureCloudMOM.core.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.futureCloudMOM.core.entity.FBaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.Date;

@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "Produce_FeedMaterial", description = "物料投料需求表")
@TableName(value = "Produce_FeedMaterial")
public class ProduceFeedMaterial extends FBaseEntity implements Serializable {


    
    @ApiModelProperty("任务主表ID")
    @TableField(value = "taskId")
    private Long taskId;
    
    @ApiModelProperty("任务子表ID")
    @TableField(value = "taskSubId")
    private Long taskSubId;
    
    @ApiModelProperty("生产工单工艺主ID")
    @TableField(value = "routingId")
    private Long routingId;
    
    @ApiModelProperty("生产工单工艺子ID")
    @TableField(value = "routingSubId")
    private Long routingSubId;
    
    @ApiModelProperty("工序ID")
    @TableField(value = "processId")
    private Long processId;
    
    @ApiModelProperty("物料ID")
    @TableField(value = "materialId")
    private Long materialId;
    
    @Size(max= 500,message="编码长度不能超过500")
    @ApiModelProperty("投入数量")
    @Length(max= 500,message="编码长度不能超过500")
    @TableField(value = "qty")
    private String qty;
    
    @Size(max= 500,message="编码长度不能超过500")
    @ApiModelProperty("投料提前期")
    @Length(max= 500,message="编码长度不能超过500")
    @TableField(value = "leadtime")
    private String leadtime;
    
    @Size(max= 500,message="编码长度不能超过500")
    @ApiModelProperty("需求数量")
    @Length(max= 500,message="编码长度不能超过500")
    @TableField(value = "feedQty")
    private String feedQty;
    
    @Size(max= 500,message="编码长度不能超过500")
    @ApiModelProperty("损失率")
    @Length(max= 500,message="编码长度不能超过500")
    @TableField(value = "lossRate")
    private String lossRate;
    
    @ApiModelProperty("最晚投入时间")
    @TableField(value = "lastFeedTime")
    private Date lastFeedTime;
    
    @NotNull(message="[状态]不能为空")
    @ApiModelProperty("状态")
    @TableField(value = "status")
    private Long status;






}

